Television systems transmit television signals to system subscribers. Television systems such as cable and satellite television systems typically include a headend for receiving programming from various sources and redistributing the programming to subscribers. The headend receives programming signals from a variety of sources, combines the programming signals from the various sources, and transmits the combined signals to subscriber equipment. The distribution system can include a variety of media, such as coaxial cable, fiber optic cable, and satellite links. In a cable television system, the subscriber equipment, which receives the signals from the headend, can include to a cable-ready television, a cable-ready video cassette recorder (VCR), or a home communications terminal (HCT) that is connected to a television, computer, or other display device.
The headend uses modulators to control the stream of data into the distribution system. In today's competitive market, the modulators must be able to accept data from equipment manufactured by many different suppliers. Increasingly, the headend is receiving and transmitting programming in a digital (e.g., MPEG) format.
MPEG bit streams include overhead information such as MPEG tables that indicate the types and location of the programming included in the bit stream. In a local television system, the MPEG tables include information that is specific to that local distribution system and its particular channel line-up. MPEG as referenced in this application is described in the MPEG-1 and MPEG-2 standards. The MPEG-1 standards (ISO/IEC 11172) and the MPEG-2 standards (ISO/IEC 13818) are described in detail in the International Organization for Standardization document ISO/IEC JTC1/SC29/WG11 N (June 1996 for MPEG-1 and July 1996 for MPEG-2), which is hereby incorporated by reference.
In designing a system, a decision is made as to what and how much information is to be included in a bit stream. Maximizing the bit rate, or the amount of information, is an economic decision. For example, the efficient use of all of the available throughput of a modulator minimizes the number of modulators required. The maximum bit rate is determined by the maximum throughput of the modulator and the maximum amount of programming and overhead information in a bit stream. The maximum bit rate is set to be as close as possible to the modulator's throughput. In a fixed bit rate system such as an MPEG system, the modulator throughput is designed to be the fixed bit rate of the system. The only remaining variable is the amount of information in the bit stream. A system is designed using the maximum size of the information or programming when determining what information is in a particular bit stream. The actual amount or size of the information in a bit stream varies with time, but should never exceed the maximum size. Thus, some of the capacity of a bit stream will be unused when a program uses less than its maximum bit rate.
In a closed system, which uses a single equipment supplier for the majority of the equipment, the amount of information in the bit stream is based on the input source and the other equipment conforms to the format of that input source. Thus the amount of overhead information is set at an input source for the system. The overhead information designates such things as the channel line-up, program data sequence, and encryption information. In a closed system the overhead information output from a headend to a distribution system must be the same size as those from the input source. The outgoing overhead information is a combination of some of the incoming overhead information, some modified incoming overhead information, and some information that is specific to the local distribution system. As the size is fixed, some of the incoming overhead information is deleted to allow for the distribution system specific information. Changes in the content of the overhead information in a closed system are scheduled and planned.
In a system where there are multiple input sources, the size of the overhead information to be inserted into the outgoing bit stream may be larger than the overhead information from the input sources. The overhead information can be larger due to such things as the insertion of MPEG tables designating multiple input sources, larger channel line-ups, additional system information, and local distribution system specific conditional access information. The various inputs are designed to fill a modulator's output data stream and this additional local distribution system specific overhead information can exceed the capacity of the output data stream. An example of this problem is illustrated in a system having a bit stream with local distribution system specific overhead information of 327 Kbps to be inserted and an average available capacity for insertion of only 300 Kbps. While the overhead information to be inserted may not change often, the instantaneous available capacity for insertion can change often. The available capacity can change due to any of a number of reasons, such as programming that is only transmitted during the day. At night the unused capacity of the daytime programming could accommodate the additional 27 Kbps required in the above example. Prior art systems do not provide a real time mechanism for evaluating the available capacity for insertion and adjusting the insertion rate of overhead information.
Thus, what is needed is a method and apparatus for determining the available capacity for insertion of an outgoing bit stream and varying the rate of data insertion into the outgoing bit stream based on the available capacity.